package priv.menguer.builder;

import priv.menguer.builder.controller.Meal;
import priv.menguer.builder.controller.MealBuilder;

/**
 * @Title BuilderPatternDemo.java
 * @description 建造者模式（Builder Pattern）使用多个简单的对象一步一步构建成一个复杂的对象。
 *              <p>
 * 				这种类型的设计模式属于创建型模式，它提供了一种创建对象的最佳方式。
 *              </p>
 * @time 2018年10月25日 下午5:42:35
 * @author menguer@126.com
 * @version 1.0
 */
public class BuilderPatternDemo {
	public static void main(String[] args) {
		MealBuilder mealBuilder = new MealBuilder();

		Meal vegMeal = mealBuilder.prepareVegMeal();
		System.out.println("Veg Meal");
		vegMeal.showItems();
		System.out.println("Total Cost: " + vegMeal.getCost());

		Meal nonVegMeal = mealBuilder.prepareNonVegMeal();
		System.out.println("\n\nNon-Veg Meal");
		nonVegMeal.showItems();
		System.out.println("Total Cost: " + nonVegMeal.getCost());
	}
}
